package com.caifeng.domain.common.database;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.core.JsonProcessingException;
import lombok.Data;

import java.util.Date;

/**
 * 数据库持久层对象基础属性
 * 包含所有实体类共有的字段
 */
@Data
public class BaseDO {

    /**
     * 主键ID（使用数据库自增）
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 创建时间（自动填充）
     * 注意：如果子类有特殊需求可以覆盖此字段
     */
    @TableField(value = "created_time", fill = FieldFill.INSERT)
    private Date createdTime;


    /**
     * 更新时间（自动填充）
     */
/*    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;*/

    /**
     * 逻辑删除标志（0-未删除，1-已删除）
     */
   /* @TableField(value = "del_flag", fill = FieldFill.INSERT)
    @TableLogic
    private Integer delFlag;

    *//**
     * 创建人（自动填充）
     *//*
    @TableField(value = "created_user", fill = FieldFill.INSERT)
    private String createUser;

    *//**
     * 更新人（自动填充）
     *//*
    @TableField(value = "updated_user", fill = FieldFill.INSERT_UPDATE)
    private String updateUser;

    *//**
     * 版本号（乐观锁）
     *//*
    @Version
    @TableField(value = "version")
    private Integer version;*/
}